package DesignPattern.Builder;

/**
 * @Author self
 * @Date 2024/8/11 17:15
 */

/*
Builder 模式是一种创建型设计模式，使用多个简单对象一步步构建复杂对象。
        与工厂模式不同，Builder 模式更关注的是如何分步骤地构建对象
*/

public class BuilderPatternDemo {
    public static void main(String[] args) {
        // 使用 Builder 模式创建 Computer 对象
        Computer computer = new Computer.Builder("Intel i7", "16GB")
                .setStorage(512)
                .setGraphicsCard(true)
                .setBluetooth(true)
                .build();

        System.out.println(computer);
        // 输出：Computer [CPU=Intel i7, RAM=16GB, Storage=512GB, GraphicsCard=true, Bluetooth=true]

        // 创建另一个 Computer 对象，使用默认存储和没有显卡、蓝牙的设置
        Computer basicComputer = new Computer.Builder("AMD Ryzen 5", "8GB").build();
        System.out.println(basicComputer);
        // 输出：Computer [CPU=AMD Ryzen 5, RAM=8GB, Storage=256GB, GraphicsCard=false, Bluetooth=false]
    }
}

